package pe.com.libreriasancristobal.bean;

// Generated 17/06/2012 05:25:28 PM by Hibernate Tools 3.4.0.CR1

import java.util.Date;
import javax.persistence.AttributeOverride;
import javax.persistence.AttributeOverrides;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Operacion generated by hbm2java
 */
@Entity
@Table(name = "operacion", catalog = "bdsancristobal")
public class Operacion implements java.io.Serializable {

	private OperacionId id;
	private Vendedor vendedor;
	private Date fecIniViaje;
	private Date fecFinViaje;
	private String lugViaje;
	private String motViaje;
	private Detalleoperacion detalleoperacion;

	public Operacion() {
	}

	public Operacion(OperacionId id, Vendedor vendedor) {
		this.id = id;
		this.vendedor = vendedor;
	}

	public Operacion(OperacionId id, Vendedor vendedor, Date fecIniViaje,
			Date fecFinViaje, String lugViaje, String motViaje,
			Detalleoperacion detalleoperacion) {
		this.id = id;
		this.vendedor = vendedor;
		this.fecIniViaje = fecIniViaje;
		this.fecFinViaje = fecFinViaje;
		this.lugViaje = lugViaje;
		this.motViaje = motViaje;
		this.detalleoperacion = detalleoperacion;
	}

	@EmbeddedId
	@AttributeOverrides({
			@AttributeOverride(name = "idOperacion", column = @Column(name = "idOperacion", nullable = false)),
			@AttributeOverride(name = "codVen", column = @Column(name = "codVen", nullable = false, length = 5)) })
	public OperacionId getId() {
		return this.id;
	}

	public void setId(OperacionId id) {
		this.id = id;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "codVen", nullable = false, insertable = false, updatable = false)
	public Vendedor getVendedor() {
		return this.vendedor;
	}

	public void setVendedor(Vendedor vendedor) {
		this.vendedor = vendedor;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "fecIniViaje", length = 19)
	public Date getFecIniViaje() {
		return this.fecIniViaje;
	}

	public void setFecIniViaje(Date fecIniViaje) {
		this.fecIniViaje = fecIniViaje;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "fecFinViaje", length = 19)
	public Date getFecFinViaje() {
		return this.fecFinViaje;
	}

	public void setFecFinViaje(Date fecFinViaje) {
		this.fecFinViaje = fecFinViaje;
	}

	@Column(name = "lugViaje", length = 45)
	public String getLugViaje() {
		return this.lugViaje;
	}

	public void setLugViaje(String lugViaje) {
		this.lugViaje = lugViaje;
	}

	@Column(name = "motViaje", length = 45)
	public String getMotViaje() {
		return this.motViaje;
	}

	public void setMotViaje(String motViaje) {
		this.motViaje = motViaje;
	}

	@OneToOne(fetch = FetchType.LAZY, mappedBy = "operacion")
	public Detalleoperacion getDetalleoperacion() {
		return this.detalleoperacion;
	}

	public void setDetalleoperacion(Detalleoperacion detalleoperacion) {
		this.detalleoperacion = detalleoperacion;
	}

}
